import { createStore } from 'vuex'
import persistedState from 'vuex-persistedstate'

export default createStore({
  state: {
    isLogin: false,
    //actionSheet底部弹起的列表配置
    actionSheetConfig: {
      // 是否展示
      isShow: false,
      // 选项列表
      list: [],
      // 每个选项的函数方法
      successCallBack: null,
    },
    // 定义用户登陆并保存用户信息情况
    userInfo: null,
    // 请求头token带着用户信息
    token: ""
  },
  getters: {
  },
  mutations: {
    setUserInfo(state, data) {
      state.userInfo = data
    },
    setToken(state, token) {
      state.token = token
    },
    //展示选项卡组件
    showActionSheet(state, config) {
      state.actionSheetConfig.isShow = true;
      //list为选项卡的条数
      state.actionSheetConfig.list = config.list;
      state.actionSheetConfig.successCallBack = config.success;
    },
    //隐藏选项卡组件
    hideActionSheet(state) {
      state.actionSheetConfig.isShow = false;
      state.actionSheetConfig.list = [];
      state.actionSheetConfig.successCallBack = null;
    }
  },
  actions: {
  },
  modules: {
  },
  // 持久化
  plugins: [persistedState({
    // 存储的方式为sessionStorage(默认为localStorage)
    storage: window.sessionStorage
  })]
})
